import axios from "axios";
// import qs from "qs";

// 开发环境就用api  生产环境(调试,测试,上线)
// const baseURL = process.env.NODE_ENV === "development" ? "/api" : "https://user.api.it120.cc"
// axios.defaults.baseURL = baseURL


// 配置公共部分
// 写法一
// const service = axios.create({
//     // 基础地址
//     baseURL: "https://user.api.it120.cc",
//     timeout: 3000
// })
// service.interceptors.request.use(config => {
//     let token = sessionStorage.getItem("token")
// })

// 写法二
// 请求拦截
axios.defaults.baseURL = "https://user.api.it120.cc"
axios.interceptors.request.use(config => {
    console.log(config)
    let token = sessionStorage.getItem("token")
    if (token) {
        config.headers["X-Token"] = token
    }

    // 把请求参数转换成FormData格式
    // 传参方式request转FormData (request:虚拟载体)
    // 方法一: 使用第三方插件 qs (npm install qs) import 引入
    // 使用方法: qs.stringify(config.data)
    // 判断 只有在post请求下才会给他转换成FormData格式
    // if (config.method == "post") {
    //     config.data = qs.stringify(config.data)
    // }

    // 方法二 : 使用FormData实例
    let params = new FormData()
    for (const i in config.data) {
        params.append(i, config.data[i])
    }
    config.data = params
    return config
},
    err => {
        console.log(err)
    })
// 响应拦截
axios.interceptors.response.use(res => {
    console.log(res)
    return res.data
}, err => {
    console.log(err)
})


export default axios